#include "SGPCLRANSAC.h"

namespace sgpcl
{

SGRANSACConfig::SGRANSACConfig()
  : SGPCLJsonConfig()
  , fFluctuation(0.1f)
{
}

void SGRANSACConfig::ParseJson(const rapidjson::Value& sJsonRoot)
{
  SGPCLJsonConfig::ParseJson(sJsonRoot, "RANSAC");

  // 去噪时计算平均距离时使用的临近点数量
  rapidjson::Value::ConstMemberIterator itMember = sJsonRoot.FindMember("Fluctuation");
  if (itMember != sJsonRoot.MemberEnd())
  {
    fFluctuation = itMember->value.GetFloat();
  }
  else
  {
    SG_LOG("未指定\"RANSAC距离阈值\"，采用默认值\"" + std::to_string(fFluctuation) + "\"");
  }
}
}
